﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace Obra.Sync
{
    /// <summary>
    /// This class is used for moving an object between two synchronization
    /// providers.  Data is moved by using streams.
    /// </summary>
    public class SyncItemTransfer :
        ISyncItemTransfer
    {
        private readonly Stream stream;

        /// <summary>
        /// This stream contains the data to be transferred.
        /// </summary>
        public Stream Stream
        {
            get { return stream; }
        }

        private readonly MediaItemMetadata mediaItemMetadata;

        /// <summary>
        /// SyncItem to be transferred.
        /// </summary>
        public MediaItemMetadata MediaItemMetadata
        {
            get { return mediaItemMetadata; }
        } 

        public SyncItemTransfer(
            Stream stream,
            MediaItemMetadata mediaItemMetadata)
        {
            this.stream = stream;
            this.mediaItemMetadata = mediaItemMetadata;
        }
    }
}
